www.gusucode.com > PHP展示型企业网站模板米拓整站源码 1.0PHP源码程序 > PHP展示型企业网站模板米拓整站源码 1.0/MetInfozs_v1.0/MetInfozs_v1.0/app/system/include/static/js/plugins/sticky-header.min.js

    /*!
 * remark (http://getbootstrapadmin.com/remark)
 * Copyright 2015 amazingsurge
 * Licensed under the Themeforest Standard Licenses
 */
!function($){"use strict";var pluginName="stickyHeader",defaults={headerSelector:".header",changeHeaderOn:100,activeClassName:"active-sticky-header",min:50,method:"toggle"},Plugin=function(el,options){this.isActive=!1,this.init(options),this.bind()};Plugin.prototype={init:function(options){var $el=this.$el.css("transition","none"),$header=this.$header=$el.find(options.headerSelector).css({position:"absolute",top:0,left:0});this.options=$.extend(!0,{},defaults,options,$header.data()),this.headerHeight=$header.outerHeight(),this.$el.css("paddingTop",this.headerHeight)},_toggleActive:function(){this.isActive?this.$header.css("height",this.options.min):this.$header.css("height",this.headerHeight)},bind:function(){var self=this;this.$el.on("scroll",function(){if("toggle"===self.options.method)$(this).scrollTop()>self.options.changeHeaderOn&&!self.isActive?(self.$el.addClass(self.options.activeClassName),self.isActive=!0,self.$header.css("height",self.options.min),self.$el.trigger("toggle:sticky",[self,self.isActive])):$(this).scrollTop()<=self.options.changeHeaderOn&&self.isActive&&(self.$el.removeClass(self.options.activeClassName),self.isActive=!1,self.$header.css("height",self.headerHeight),self.$el.trigger("toggle:sticky",[self,self.isActive]));else if("scroll"===self.options.method){var offset=Math.max(self.headerHeight-$(this).scrollTop(),self.options.min);offset===self.headerHeight?self.$el.removeClass(self.options.activeClassName):self.$el.addClass(self.options.activeClassName),self.$header.css("height",offset),self.$el.trigger("toggle:sticky",[self])}})}},$.fn[pluginName]=function(options){if("string"==typeof options){var method=options,method_arguments=Array.prototype.slice.call(arguments,1);return/^\_/.test(method)?!1:this.each(function(){var api=$.data(this,pluginName);api&&"function"==typeof api[method]&&api[method].apply(api,method_arguments)})}return this.each(function(){$.data(this,pluginName)?$.data(this,pluginName).init(options):$.data(this,pluginName,new Plugin(this,options))})}}(jQuery);